package monitormercado.apresentacao.tela.simulacao;

import java.util.Date;
import java.util.List;

import monitormercado.framework.Estrategia;
import monitormercado.negocio.Tick.Tick;
import monitormercado.negocio.analise.estrategia.simulacao.ResultadoCombinadoSimulacao;
import monitormercado.negocio.analise.estrategia.simulacao.Simulador;

public class ComandoSimular {
	private Estrategia estrategia;
	private Double percentualStopVenda;
	private Date dataInicial;
	private Date dataFinal;

	public ComandoSimular(Estrategia estrategia, Double percentualStopVenda, Date dataInicial, Date dataFinal) {
		super();
		this.estrategia = estrategia;
		this.percentualStopVenda = percentualStopVenda;
		this.dataInicial = dataInicial;
		this.dataFinal = dataFinal;
	}

	public void simular(String acao, List<Tick> ticks, Simulador simulador, ResultadoCombinadoSimulacao resultado) {
		simulador.simular(acao, ticks, estrategia, resultado, percentualStopVenda, dataInicial, dataFinal);
	}

	public Estrategia getEstrategia() {
		return estrategia;
	}
}
